package com.briup.model.entity.extend;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.util.List;

/**
 * 封装模型训练需要的参数
 */
@ApiModel("训练参数类")
@Setter
@Getter
public class TrainingVo {
    @ApiModelProperty(value = "最后一个模型版本",required = true,example = "V0")
    private String lastModelVersion; // 最后一个模型版本
    @ApiModelProperty(value = "任务类型(0初始化训练/1优化训练)",required = true,example = "0")
    private Integer taskType; // 任务类型(0初始化训练/1优化训练)
    @ApiModelProperty(value = "数据集id",required = true)
    private List<Integer> datasetIdList; // 训练所需参数: 拼接数据集id
    @ApiModelProperty(value = "分辨率",required = true,example = "600*800")
    private String reslution; // 训练所需参数: 分辨率
    @ApiModelProperty(value = "迭代次数",required = true,example = "1000")
    private String iterateTimes; // 训练所需参数: 迭代次数
    @ApiModelProperty(value = "网络结构",required = false,example = "nn.BriupDenseNet121")
    private String netWorkStructure; // 训练所需参数: 网络结构
    @ApiModelProperty(value = "优化器",required = false,example = "optimizer.BriupAdadelta")
    private String optimizer; // 训练所需参数: 优化器
    @ApiModelProperty(value = "损失值",required = false,example = "keras.losses.SparseCategoricalCrossentropy")
    private String lossValue; // 训练所需参数: 损失值


}
